package com.icloud.system.boot.model;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

@Getter
@Setter
@TableName("app_whitelist_operation_log")
@ApiModel(value = "AppWhiteListOperationLog对象", description = "前台白名单操作日志,如登录,注册,重置密码等")
public class AppWhiteListOperationLog implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("前台账号 app_customer.id")
    @TableField("customer_id")
    private Long customerId;

    @ApiModelProperty("前台客户用户名 username")
    @TableField("username")
    private String username;

    @ApiModelProperty("请求方式")
    @TableField("request_method")
    private String requestMethod;

    @ApiModelProperty("请求URI")
    @TableField("request_uri")
    private String requestUri;

    @ApiModelProperty("请求路径")
    @TableField("request_path")
    private String requestPath;

    @ApiModelProperty("IP")
    @TableField("ip")
    private String ip;

    @ApiModelProperty("地区信息")
    @TableField("address")
    private String address;

    @ApiModelProperty("设备型号")
    @TableField("model")
    private String model;

    @ApiModelProperty("设备品牌")
    @TableField("brand")
    private String brand;

    @ApiModelProperty("产品名称")
    @TableField("product")
    private String product;

    @ApiModelProperty("系统版本")
    @TableField("release")
    private String release;

    @ApiModelProperty("SDK版本号")
    @TableField("sdk_version_code")
    private String sdkVersionCode;

    @ApiModelProperty("当前网络运营商名称")
    @TableField("network_operator")
    private String networkOperator;

    @ApiModelProperty("当前网络类型")
    @TableField("network_type")
    private String networkType;

    @ApiModelProperty("时区ID")
    @TableField("timezone_id")
    private String timezoneId;

    @ApiModelProperty("用户显示的语言环境的语言名称")
    @TableField("language")
    private String language;

    @ApiModelProperty("手机mac地址")
    @TableField("mac")
    private String mac;

    @ApiModelProperty("手机信号强度")
    @TableField("dbm")
    private String dbm;

    @ApiModelProperty("app版本号")
    @TableField("app_version")
    private String appVersion;

    @ApiModelProperty("路由器公网IP")
    @TableField("router_ip")
    private String routerIp;

    @ApiModelProperty("经度")
    @TableField("longitude")
    private String longitude;

    @ApiModelProperty("纬度")
    @TableField("latitude")
    private String latitude;

    @ApiModelProperty("请求结果.SUCCESS,FAILED")
    @TableField("request_result")
    private String requestResult;

    @ApiModelProperty("失败原因")
    @TableField("failed_reason")
    private String failedReason;

    @ApiModelProperty("备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty("创建时间")
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    @ApiModelProperty("更新时间")
    @TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;
}
